Through the years computer memory has both dropped in price and increased in density. Several decades ago, computer memory was measured in groups of one thousand bytes, or “kilobytes” (KB), with sixty-four kilobytes (64 K), of memory being considered a large amount of memory. As technology progressed, memory began to be defined first in terms of megabytes (MB), each of which represent one thousand K kilobytes (1,000 KB), Gigabytes, each of which represent one thousand megabytes (1,000 MB) and even terabytes, each of which represent on thousand Gigabytes (1,000 GB). Soon, memory will expand into the domain of petabytes, each of which represents one thousand terabytes (1,000 TB), one million gigabytes (1,000,000 GB), one billion megabytes (1,000,000,000 MB) or one thousand billion kilobytes (1,000,000,000,000 KB).
As memory has expanded, data has also expanded to fill the new memory spaces. Data is typically organized within a particular memory space into filepaths or “storage trees” that consist of a string of components, e.g. directories, multiple levels of sub-directories and file names. Each increase in memory capacity has increased the number of components, or the potential “depth” of the storage tree, that point to a particular file path. This creates issues with respect to both file retrieval and the avoidance of duplicate files. For example, a file that has five path components, i.e. “/directory—1/sub_dir—1/sub_dir—2/sub_dir—3/file_name.doc,” may be hard to find if a user does not remember all the components in the correct order. Further, if the file is saved under a slightly different path, or a path that has had the components inadvertently rearranged, i.e. “/directory—1/sub_dir—2/sub_dir—1/sub_dir—3/file_name.doc,” a duplicate file may be created causing data storage anomalies such as, but not limited to, deletion and update anomalies.
File system search programs allow limited use of wildcards, such as ‘?’ and ‘*’ characters, for the abstraction of a filename but this doesn't necessarily help if the order of the components in the file path has been forgotten. The Unix system provides a linking mechanism so that a file can be associated with one or more alternative directories. Neither of these capabilities address all the underlying issues in file location and retrieval.
A method of organizing computer memory so that files are easy to locate, even with incomplete knowledge of the particular file path would be greatly appreciated by computer users. Also appreciated would be a method of computer file organization that mitigates the possibility of duplicate files and the file anomalies that can result.